代码审核使用指南

代码评审功能配置

1. 配置 GitLab SAST

如果您无需使用 SAST 结果作为代码评审参考,请直接跳转第 2 步“Webhook 的配置”。

  1. 确认您是 GitLab 旗舰版用户,参考 GitLab 官方文档配置
  2. .gitlab-ci.yml 文件中增加 artifacts 的 paths 配置。
include:
  - template: Jobs/SAST.gitlab-ci.yml

semgrep-sast:
  artifacts:
    paths: [ gl-sast-report.json ]

2. Webhook的配置

拥有项目“开发者”及以上权限的用户,打开项目“设置”的“Webhooks”,点击“添加新的 webhook”。

image.png

2.1 输入下列对应信息:
  1. URL:

    URL 区别 示例
    http://xxx/api/v1/webhook
    其中 xxx 需替换为 CodeRider 实例地址
    1. 需邀请 CodeRider Agent 用户进入项目。(邀请方式见下文补充说明。Agent 用户名称根据企业配置可能不同) https://coderider.jihulab.com/api/v1/webhook
    http://xxx/api/v1/webhook?token=aaa
    其中 xxx 需替换为 CodeRider 实例地址,aaa 需替换为用户/项目/群组 级别的 PAT(需有权限访问当前 MR)
    1. 适用于:群组配置了 SAML SSO 单点登录;
    2. 无需邀请 CodeRider Agent 用户进入项目
    https://coderider.jihulab.com/api/v1/webhook?token=glpat-EKP2hGw_xxxxNubx
  2. 选择“显示完整的URL”。

    • 输入“Secret 令牌” :Secret 令牌请联系企业管理员获取。
      • 私有化部署客户企业管理员参考:私有化部署的令牌需在企业管理平台生成:

      image.png

  3. “触发来源”勾选:评论、合并请求事件。

  4. 勾选“启用SSL验证”。

2.2 配置信息填写完成后,点击“添加webhook”确认配置即可配置成功。

image.png

补充说明:若 Webhook 的 URL 未配置用户 PAT,则需要邀请 CodeReview Agent 进入待评审的项目或群组,邀请方式: 将“CodeRider Agent”邀请成为项目成员,并赋予“开发者”权限。 image.png

3. 项目级别的评审规则配置

确保您待合并分支有文件 .coderider-review.toml

[config]
# 每个 MR 最多包含的文件数限制,如超过最大限制会报错并不会触发代码审核
mr_max_files = 10  # 1-15之间的整数

[coderider_code_suggestions]
# 评审建议数量限制
num_code_suggestions = 3  # 1-5之间的整数
# 生成代码时的额外指令
extra_instructions = " " # 不超过1000字的文本

[coderider_reviewer]
# 代码审查时的额外指令
extra_instructions = " " # 不超过1000字的文本

配置参数说明:

  • config 区块:控制基本行为
    • mr_max_files:限制每个合并请求中分析的最大文件数,防止审查过于复杂的变更
  • coderider_code_suggestions 区块:控制代码建议生成
    • num_code_suggestions:控制为每个问题提供的代码改进建议数量
    • extra_instructions:为代码生成提供额外上下文和指导方向
  • coderider_reviewer 区块:控制代码审查行为
    • extra_instructions:为代码审查提供额外指导和重点关注领域

通过适当配置,可以使 CoderRider 关注团队特定的编码标准、安全问题或性能优化等方面。

配置区块 配置项 说明 有效值 默认值
[config] mr_max_files 每个合并请求(MR)最多包含的文件数限制 1-15的整数 10
[coderider_code_suggestions] num_code_suggestions 生成的代码改进建议数量限制 1-5的整数 3
extra_instructions 针对代码生成的额外指令 不超过1000字的文本
[coderider_reviewer] extra_instructions 针对代码审查的额外指令 不超过1000字的文本

代码评审功能使用

CodeRider 支持 GitLab 项目基于 Web 端调用 MR 代码审核 Agent。当群组/项目代码仓已配置好审核功能后,触发方式:

  • 无需使用 SAST 扫描结果作为评审参考:
    • 首次提交 MR,触发 MR 时自动评审。
    • 当再次提交合并请求时,需手动触发代码审核,触发方式:在已提交的 MR 审核框输入@CODERIDER_AGENT /coderider-review即可启动评审,稍等片刻即可看到评审建议。
  • 需使用 SAST 扫描结果作为评审参考:
    • 需要在 SAST 扫描任务运行成功后手动触发,触发方式:在已提交的 MR 审核框输入/coderider-review即可启动评审,稍等片刻即可看到评审建议。

评审意见操作:CodeRider 支持您针对评审建议进行修改、评论,或点击“应用建议”再次提交变更代码。

image.png image.png